package com.lx.pc.domain.entity;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;

import org.springframework.data.mybatis.annotations.Column;
import org.springframework.data.mybatis.annotations.Condition;
import org.springframework.data.mybatis.annotations.Id;
import org.springframework.data.repository.query.parser.Part;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.lx.pc.utils.BigIntegerDeserializer;
import com.lx.pc.utils.BigIntegerSerializer;

/**
 * Project Entity基类
 * 
 * @author houzhong
 *
 */
public abstract class AbstractBaseEntity extends SuperBaseEntity implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * Id
	 */
	@Id
	@Column(name = "id")
	@JsonSerialize(using = BigIntegerSerializer.class)
	@JsonDeserialize(using = BigIntegerDeserializer.class)
	private BigInteger id;

	/**
	 * 创建时间
	 */
	@Column(name = "create_time")
	private String createTime;
	
	/**
	 * 0已删除 1有效
	 */
	@Column(name = "active")
	@Condition(type = Part.Type.SIMPLE_PROPERTY)
	private Short active;

	/**
	 * 更新时间
	 */
	@Column(name = "modify_time")
	private Date modifyTime;

	public BigInteger getId() {
		return id;
	}

	public void setId(BigInteger id) {
		this.id = id;
	}

	public String getCreateTime() {
		return createTime;
	}

	public void setCreateTime(String createTime) {
		this.createTime = createTime;
	}

	public Short getActive() {
		return active;
	}

	public void setActive(Short active) {
		this.active = active;
	}

	public Date getModifyTime() {
		return modifyTime;
	}

	public void setModifyTime(Date modifyTime) {
		this.modifyTime = modifyTime;
	}

	

}
